/** Interface to the assembler class.
 * @file
 * @author Chris Pinchak
 *
 * Computer Science 4600
 * Date: April 12, 2001
 */

// Interface to the assembler class.

// Author: Chris Pinchak
// Computer Science 4600
// Date: April 12, 2001

#ifndef ASSEMBLER_H
#define ASSEMBLER_H

using namespace std;
#include <iostream>
#include <string>
//#include "parser.h"

const int MAXLABEL = 500;

class Assembler
{
  public:
   Assembler(istream &in, ostream &out); 
   ~Assembler();
   // The two passes of the assembler.
   void firstPass(); 
   void secondPass();

  private:
   int labelTable[MAXLABEL]; 
   int currentAddress; 
   istream *insource;  // Input file
   ostream *outsource; // Output file 
};
#endif
